Add a cross-fade node ref test
authorMatthias Clasen <mclasen@redhat.com>
Sun, 8 Oct 2017 18:36:35 +0000 (14:36 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 8 Oct 2017 18:36:35 +0000 (14:36 -0400)
The Vulkan renderer doesn't pass this one either, currently.

testsuite/gsk/cross-fade.node [new file with mode: 0644]
testsuite/gsk/cross-fade.png [new file with mode: 0644]
testsuite/gsk/test-render-nodes.c

diff --git a/testsuite/gsk/cross-fade.node b/testsuite/gsk/cross-fade.node
new file mode 100644 (file)
index 0000000..beaa2c6
Binary files /dev/null and b/testsuite/gsk/cross-fade.node differ
diff --git a/testsuite/gsk/cross-fade.png b/testsuite/gsk/cross-fade.png
new file mode 100644 (file)
index 0000000..8401b23
Binary files /dev/null and b/testsuite/gsk/cross-fade.png differ
index f3d65f49999df63b8b2f2546be67405ec67c45dc..fc29d32e75317b6c43084b3d18cf7ae32cb0746c 100644 (file)
@@ -258,6 +258,31 @@ blendmode (void)
   return container;
 }
 
+static GskRenderNode *
+cross_fade (void)
+{
+  GskRenderNode *child1;
+  GskRenderNode *child2;
+  GskRenderNode *transform;
+  GskRenderNode *container;
+  graphene_matrix_t matrix;
+
+  child1 = cairo ();
+  child2 = cairo2 ();
+
+  graphene_matrix_init_translate (&matrix, &(const graphene_point3d_t) { 50, 50, 0 });
+  transform = gsk_transform_node_new (child2, &matrix);
+  gsk_render_node_unref (child2);
+  child2 = transform;
+
+  container = gsk_cross_fade_node_new (child1, child2, 0.5);
+
+  gsk_render_node_unref (child1);
+  gsk_render_node_unref (child2);
+
+  return container;
+}
+
 static const struct {
   const char *name;
   GskRenderNode * (* func) (void);
@@ -266,6 +291,7 @@ static const struct {
   { "cairo.node", cairo },
   { "repeat.node", repeat },
   { "blendmode.node", blendmode },
+  { "cross-fade.node", cross_fade },
 };
 
 /*** test setup ***/